package com.iflytek.esb.util;

public class SoapUtil { //extends VisitorSupport {

	private static final String PRE = "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"><soapenv:Body>";
	private static final String SUF = "</soapenv:Body></soapenv:Envelope>";
	
	public static final String EMPTY = PRE + SUF;
	
//	private String body;
//	private String root;
//	
//	public void visit(Element element) {
//		if (StringUtils.isEmpty(root)) {
//			root = element.asXML();
//		}
//		
//		Element parent = element.getParent();
//		
//		if (parent != null) {
//			String parentName = parent.getName();
//			Element parentParent = parent.getParent();
//			if (parentParent != null) {
//				String parentParentName = parentParent.getName();
//				
//				Element parentParentParent = parentParent.getParent();
//				
//				if (StringUtils.isEmpty(body) 
//						&& StringUtils.equalsIgnoreCase(parentName, "Body") 
//						&& StringUtils.equalsIgnoreCase(parentParentName, "Envelope")
//						&& parentParentParent == null) {
//					
//					body = element.asXML();
//				}
//			}
//		}
//	}
//	
//	private void analysis(String soapContent) throws DocumentException {
//		Document doc = DocumentHelper.parseText(soapContent);
//		doc.accept(this);
//	}
//	
//	public static String getBody(String soapContent) {
//		SoapUtil util = new SoapUtil();
//		try {
//			util.analysis(soapContent);
//			return util.body;
//		} catch (DocumentException e) {
//			return soapContent;
//		}
//	}
//	
//	public static String getEnvelope(String soapBody) {
//		SoapUtil util = new SoapUtil();
//		try {
//			util.analysis(soapBody);
//			return PRE +  util.root + SUF;
//		}
//		catch (DocumentException e) {
//			return soapBody;
//		}
//	}
}
